import { App } from 'vue';
import button from '/@/components/vp/button/index';
import label from '/@/components/vp/label/index';
import VpMainPage from '/@/components/vp/VpMainPage.vue';
import VpCol from '/@/components/vp/VpCol.vue';
import VpTableAction from '/@/components/vp/VpTableAction.vue';
import VpDialog from '/@/components/vp/VpDialog.vue';
import VpDepartmentSelectTree from '/@/components/vp/department/VpDepartmentSelectTree.vue';
import VpPagination from '/@/components/vp/VpPagination.vue';
import VpTable from '/@/components/vp/VpTable.vue';
import VpSearchCol from '/@/components/vp/VpSearchCol.vue';
import VpSearchRow from '/@/components/vp/VpSearchRow.vue';
import VpCard from '/@/components/vp/VpCard.vue';
import VpTabs from '/@/components/vp/VpTabs.vue';
import VpTabPane from '/@/components/vp/VpTabPane.vue';
import VpTextarea from '/@/components/vp/VpTextarea.vue';
import VpVxeTable from '/@/components/vp/VpVxeTable.vue';
import VpText from '/@/components/vp/VpText.vue';

function componentBy(app: App) {
    button.componentBy(app);
    label.componentBy(app);
    app.component('vp-main-page', VpMainPage);
    app.component('vp-col', VpCol);
    app.component('vp-table-action', VpTableAction);
    app.component('vp-dialog', VpDialog);
    app.component('vp-department-select-tree', VpDepartmentSelectTree);
    app.component('vp-pagination', VpPagination);
    app.component('vp-table', VpTable);
    app.component('vp-search-col', VpSearchCol);
    app.component('vp-search-row', VpSearchRow);
    app.component('vp-card', VpCard);
    app.component('vp-tabs', VpTabs);
    app.component('vp-tab-pane', VpTabPane);
    app.component('vp-textarea', VpTextarea);
    app.component('vp-vxe-table', VpVxeTable);
    app.component('vp-text', VpText);
}

export default { componentBy };